<?php
//自定义函数列表

if( !function_exists('rand_saltcode'))
{
    /**
     * @param int $length 生成加密字符串的长度默认8位
     * @return string salt字符串
     */
    function rand_saltcode($length = 8) {
        //产生salt的种子字符串
        $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

        $salt = '';
        for ($i=0; $i < $length; $i++) {
            //取字符数组 $chars 的任意元素
            $salt .= $str[mt_rand(0, strlen($str) - 1)];
        }

        return $salt;
    }
}

if(! function_exists('getmicrotime'))
{
    /**
     * @return float 时间点(用于记录函数调用耗时)
     */
    function getmicrotime() {
        list($usec, $sec) = explode(' ', microtime());
        return ((float)$usec + (float)$sec);
    }
}

if(! function_exists('mk_dir')) {
    /**
     * 功能：循环创建目录方法一
     * @param $dir 需要创建的目录
     * @param int $mod 生成目录权限
     * @return bool
     */
    function mk_dir($dir, $mod=0755) {
        if(is_dir($dir) || mkdir($dir, $mod)) return true;

        if(! mk_dir(dirname($dir), $mod)) return false;

        return @mkdir($dir, $mod);
    }
}

/**
 * 循环创建目录
 * @param $dir 需要创建的目录 如 /www/uploads/img/201702
 * @param int $mod 目录权限
 * @return bool
 */
function mkdir_p($dir, $mod = 0755) {
    if ( !file_exists(dirname($dir))) {
        mkdir_p(dirname($dir), $mod);
    }
    return mkdir($dir);
}